package ControlLayer;
import ModelLayer.LagerMappe.*;
import java.util.*;


public class LagerCtr
{
    private LagerCon lagerCon;
    
    public LagerCtr()
    {
        lagerCon = new LagerCon();   
    }
    
    /**
     * Returnere en ArrayListe indeholdende Lagervare-objekter.
     * Hver Lagervare-objekt er en sammenkædning af et Lager-objekt
     * og et DelLager-objekt (fra samme Lager), Hvilke tilsammen
     * peger på den absolute placering af en hyldevare!
     * (hvilket lager, den er på og hvilken hylde, den er på, samt selve
     * Hyldevaren).
     * 
     * @param   vareNavn    hele eller dele af navnet på varen, fundet ved vare.getNavn().contains(vareNavn)
     */
    public ArrayList<Lagervare> getVareListe(String vareNavn)
    {
        ArrayList<Lagervare> result = new ArrayList<Lagervare>();
        for(Lager l : lagerCon.getLager(vareNavn))
        {
            for(DelLager dl : l.getDelLager(vareNavn))
            {
                result.add(new Lagervare(l, dl));
            }
        }
        return result;
    }
    
    //CRUD
    public void createHyldevare(String lagerNavn, int antal, String hyldeNr, String navn, String beskrivelse, String stregkode, double salgspris, double indkoebspris, int minLager, int maxLager, int kvantum)
    {
        lagerCon.createHyldevare(lagerNavn, antal, hyldeNr, navn, beskrivelse, stregkode, salgspris, indkoebspris, minLager, maxLager, kvantum);
    }
    
    //CRUD
    public void createBestillingsvare(String lagerNavn, int antal, String hyldeNr, String navn, String beskrivelse, String stregkode, double salgspris, double indkoebspris, String leverandoer)
    {
        lagerCon.createBestillingsvare(lagerNavn, antal, hyldeNr, navn, beskrivelse, stregkode, salgspris, indkoebspris, leverandoer);
    }
    
    //CRUD
    public void createLager(String navn)
    {
        lagerCon.createLager(navn);
    }
}